home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / tsql / doc / benchmark.mail / 000002_Elias.Eliopoul…n.ariadne-t.gr _Tue Jun 29 17:33:00 1993.msg < prev    next >
Internet Message Format  |  1996-01-31  |  12KB

  1. Received: from ARTS01.INFN.IT (cosine-gw.infn.it) by optima.CS.Arizona.EDU (5.65c/15) via SMTP
  2.     id AA04449; Tue, 29 Jun 1993 08:34:08 MST
  3. Received: From MR(RFCGATEWAY) by MAILER with Id HERMHS      0023227.000741366945
  4.           for MAILER@ARTS01.INFN.IT; Tue, 29 JUN 93 17:33 GMT
  5. Message-Id: <HERMHS      0023227.000741366945>
  6. X-Posting-Date: 29-JUN-1993 15:15:45.00
  7. Received: via INFNGW
  8. Date:  Tue, 29 JUN 93 17:33 GMT
  9. From: Elias.Eliopoulos@isosun.ariadne-t.gr
  10. Subject:  
  11. To: tdbbenchmark@cs.arizona.edu
  12. X-Original-To: tdbbenchmark@cs.arizona.edu
  13.  
  14. RFC-822-Headers:
  15. Received: by isosun.ariadne-t.gr (4.1/SMI-4.0-MHS-6.0)
  16.     id AA23221; Tue, 29 Jun 93 18:15:24 +0300
  17.  
  18.  
  19. From: Nikos A. Lorentzos and Yannis Mitsopoulos
  20. (Mail resubmission)
  21.  
  22. Dear Rick and Christian,With respect to the paper on a benchmark on temporal databases,
  23. Yannis G. Mitsopoulos and me find it necessary to express some
  24. comments and also provide additional sample queries, which are
  25. important and should be included in the final paper. We list them
  26. next.
  27.  
  28. General Comments
  29. Firstly, we believe that the word 'benchmark' should completely be
  30. avoided, it will give rise to a severe criticism. The same is also
  31. true for the words 'user-friendly' and 'expressiveness'. Perhaps, we
  32. should write something like the following: 'Given that there are many
  33. diverse data modelling approaches in the area, each co-author has
  34. tried to identify reasonable queries whose formulation and also their
  35. answering should be enabled by a valid time DBMS. This will allow the
  36. reader identify from this set of queries those which, in his opinion,
  37. are most important and thus perform a personal evaluation of each
  38. model, based on two parameters, firstly whether each query can be
  39. formulated in some model and, secondly, how easily it can be
  40. formulated.'
  41.  
  42. Secondly, if the 'benchmark' is to appear as a joint paper, we wonder
  43. whether it would be wise for every author to express his personal
  44. ideas at the end of the paper. In spite of this, our own comments are
  45. the following:
  46.  
  47. Comments on the paper
  48. 1. It is unavoidable that the queries and also the schema of the
  49. database have been influenced by individual models. For example, in
  50. an ungrouped model, the schema could perhaps be completely different,
  51. if we were to record the history of employee names.
  52.  
  53. 2. The key and the functional dependencies between various pieces of
  54. data are given in the paper. This directly implies that we all agree
  55. in 'what the key of a historical relation is', which is not true. We
  56. think that we should rather write that 'we provide the functional
  57. dependencies which we assume that the data satisfy at each time
  58. instant'.
  59.  
  60. 3. Many queries (eg 2.1.1, 2.1.2, 2.1.7, 2.1.5) imply that certain
  61. scalar and perhaps aggregate functions are supported but we do not
  62. specify which they are. In contrast, we are quite specific on the
  63. relational operators which are supported.
  64.  
  65.  
  66. Minor improvements
  67. Q2.1.5 should be modified as: 'whose salary remained the same for the
  68. longer continuous time' or something like this.
  69.  
  70. Q2.1.7 does not seem to be a reasonable query, in the general case in
  71. which there are many managers.
  72.  
  73. Q2.2.4 should be rephrased as 'For all departments whose managers and
  74. budgets have not changed for the last 18 months ...'.
  75.  
  76. Q2.3.5 is practically identical to Q2.1.5, if we take intoconsideration the fact that a salary only increases. The distinction
  77. will be clearer if in Q2.3.5 we consider a case in which an employee
  78. ceases being paid and, after some time he starts being paid again
  79. with the same salary.
  80.  
  81. Q2.3.10: Rather than write 'in a department called Toy', better to
  82. write 'in the Toy department'. The same remark applies to some other
  83. queries.
  84.  
  85. Q2.4.3 is similar to Q2.4.7. In Q2.4.3 it is better to explicitly
  86. write 'at least 5 consecutive years'.
  87.  
  88. Q4.2.3: Write: 'exceeded', 'continued'.
  89.  
  90. Q4.2.4: replace 'at' by 'one'. Do you mean exactly one year?
  91.  
  92. Q4.4.3: Omit the second 'they'.
  93.  
  94. Q4.10.5: omit 'then'.
  95.  
  96.  
  97.  
  98. New classes of queries
  99. There are many reasonable queries for which no provision has been
  100. made in the taxonomy. We distinguish them into groups A, B and C
  101. below.
  102.  
  103. Group A: To simplify the discussion, in the following we do not
  104. distinguish between event, interval and element. In addition, we do
  105. not distinguish between value, derived and imposed. Instead, we only
  106. consider the case that a piece of data d1 is valid at time t1 and,
  107. similarly, d2 is valid at t2. Then the output-based taxonomy may
  108. require the output of the following results:
  109.  
  110. 1. t1        t2
  111. 2. t1             d2
  112. 3. t1        t2   d2
  113. 4.      d1   t2
  114. 5.      d1        d2
  115. 6.      d1   t2   d2
  116. 7. t1   d1   t2   d2
  117.  
  118. Relevant Examples
  119. 1. Give the time Edward was in the Toy department and the time his
  120. salary became $30K (output of the form t1, t2).
  121. Answer: "2/1/82 - 1/31/87, 6/1/82"
  122.  
  123. 2. Give the time Edward was in the Toy department and the department
  124. he is currently working in (output of the form t1, d2).
  125. Answer: "2/1/82 - 1/31/87, Book"
  126.  
  127. 3. Give the time Edward was in the Toy department and his salary
  128. history (output of the form t1, t2, d2).
  129. Answer: "2/1/82 - 1/31/87, ((2/1/82 - 5/31/82, $20K), (6/1/82 -
  130. 1/31/85, $30K), (2/1/85 - 1/31/87, $40K), (4/1/87 - present, $40K))"
  131. Similarly, for the remainder cases:
  132.  
  133. 4. Give the department in which Edward was at time 12/31/84 and the
  134. time at which his salary became greater than $20K.
  135. Answer: "Toy, 6/1/82"
  136.  
  137. 5. Give Di's salary at time 12/31/85 and 12/31/86.
  138. Answer: "$40K, $50K"
  139.  
  140. 5. Give Di's salary at time 12/31/85 and the department she was in at
  141. time 12/31/86. (Note that in this query the time must also be output
  142. so as to associate each salary with the respective date).
  143. Answer: "12/31/85, $40K, 12/31/86, Toy"
  144.  
  145. 6. Give Di's salary at time 12/31/85 and her salary history.
  146. Answer: "$40K, ((1/1/82 - 7/31/84, $30K), (8/1/84 - 8/31/86, $40K),
  147. (9/1/86 - present, $50K))"
  148.  
  149. 7. Give Di's salary at all times less than 12/31/85 and her
  150. department history at all times greater than 12/31/86.
  151. Answer: "((1/1/82 - 7/31/84, $30K), (8/1/84 - 12/31/85, $40K)), Toy,
  152. 12/31/86 - present"
  153.  
  154. Using the above classification of queries, we can see that there are
  155. 7 distinct classes of the output-based taxonomy.
  156.  
  157. Similarly, the top-level selection-based taxonomy might be classified
  158. into 7 classes (if reasonable queries can be identified) and this
  159. could result in 49 distinct types of queries. If we further consider
  160. in conjunction all the cases you have already identified, then it is
  161. likely that the number of classes will be further increased
  162.  
  163.  
  164. Group B: Queries which require unnestings and nestings (It applies
  165. only to grouped models). Some queries are the following.
  166.  
  167. 1. For each department give the current names of the employees who
  168. ever worked in it.
  169. Answer: "Toy, ((Edward), (Di))",
  170. "Book, Edward"
  171.  
  172. 2. For each department give the current names of the employees who
  173. worked in it and also the respective time.
  174. Answer: "Toy, ((Edward, 2/1/82 - 1/31/87), (Di, 1/1/82, present))",
  175. "Book, Edward, 4/1/87 - present"
  176.  
  177. 3. For every department give the current names of the employees who
  178. worked in it and for each of the employees give his salary history.
  179. Answer: "Toy, ((Edward, (($20K, 2/1/82 - 5/31/82), ($30K, 6/1/82 -
  180. 1/31/85), ($40K, 2/1/85 - 1/31/87))), (Di, (($30K, 1/1/82 - 7/31/84),
  181. ($40K, 8/1/84 - 8/31/86), ($50K, 9/1/86 - present))))",
  182. "Book, Edward, $40K, 4/1/87 - 12/31/88"
  183.  
  184. 4. For each department give the distinct salaries whose employees
  185. were earning at time 12/31/84.
  186. Answer: "Toy, (($30K), ($40K))","Books, -"
  187.  
  188. 5. For each particular salary value, list the current names of the
  189. employees who were getting this salary.
  190. Answer: "$20K, Edward",
  191. "$30K, ((Edward), (Di))",
  192. "$40K, ((Edward), (Di))",
  193. "$50K, Di"
  194.  
  195. 6. For each particular salary value list the current names of the
  196. employees who were getting this salary and also the respective times.
  197. Answer: "$20K, Edward, 2/1/82 - 5/31/82",
  198. "$30K, ((Edward, 6/1/82 - 1/31/85), (Di, 1/1/82 - 7/31/84))",
  199. "$40K, ((Edward, ((2/1/85 - 1/31/87), (4/1/87 - present)), (Di,
  200. 8/1/84 - 8/31/86))",
  201. "$50K, Di, 9/1/86 - present"
  202.  
  203. 7. For each time instant within 5/30/82 - 6/2/82, give the distinct
  204. salaries which the employees were earning.
  205. Answer: "5/30/82, (($20K), ($30K))",
  206. "5/31/82, (($20K), ($30K))",
  207. "6/1/82, $30K",
  208. "6/2/82, $30K"
  209.  
  210. 8. For every manager give the departments in which he worked and the
  211. relevant time.
  212. Answer: "Di, ((Toy, ((1/1/82 - present))))"
  213.  
  214. 9. For every department give his managers and the relevant time.
  215. Answer: "Toy, ((Di, ((1/1/82 - present))))",
  216. "Book, -, -"
  217.  
  218. Note that this result is different than that of the previous query.
  219. In particular a grouped model must be capable of grouping the result
  220. of each query in a distinct way as is shown by the pairs of brackets.
  221.  
  222. 10. For every manager list the current names of his employees and the
  223. time at which each of them was managed by this particular manager.
  224. Answer: "Di, ((Edward, 2/1/82 - 1/31/87))"
  225.  
  226. 11. For each employee (current name) give his managers and the time
  227. at which he was managed by each of them.
  228. Answer: "Edward, ((Di, 2/1/82 - 1/31/87))",
  229.  
  230. Note that this result is different than that of the previous query.
  231. In particular a grouped model must be capable of grouping the result
  232. of each query in a distinct way as is shown by the pairs of brackets.
  233.  
  234. 12. List the salary and department of each employee (current name) at
  235. times 12/31/84 and 12/31/85 (Here, we want to retrieve data at two
  236. distinct time points. Clearly, there is no need to have a nested
  237. relation.)
  238. Answer: "12/31/84, Edward, Toy, $30K",
  239. "12/31/84, Di, Toy, $40K",
  240. "12/31/85, Edward, Toy, $40K",
  241. "12/31/85, Di, Toy, $40K"
  242. Clearly, queries like the above can also be classified in a
  243. systematic way.
  244.  
  245. Group C: It includes various queries which we do classify into some
  246. particular class.
  247.  
  248. 1. For each employee (current name) list his salary on date 12/31/84,
  249. 12/31/85, and 12/31/86.
  250. In this query we want to retrieve employee salaries at more than one
  251. specific time instant. It is obvious therefore that the resulting
  252. relation must contain for each employee his name and three salaries,
  253. each of them recorded next to one of the dates 12/31/84, 12/31/85,
  254. and 12/31/86.
  255. Answer: "Edward, ((12/31/84, $30K), (12/31/85, $40K), (12/31/86,
  256. $40K))",
  257. "Di, ((12/31/84, $40K), (12/31/85, $40K), (12/31/86, $50K))"
  258.  
  259. 2. Let us assume that a department is operational if at least one
  260. employee works in it. Then a query can be:
  261. For each department, list the time at which it was operational.
  262. Answer: "Toy, 1/1/82 - present",
  263. "Book, 4/1/87 - present"
  264.  
  265. 3. For each employee (current name) show his salary and assignment to
  266. departments for each of the dates from 5/30/82 to 6/2/82
  267. Answer: "Edward, 5/30/82, $20K, Toy",
  268. "Edward, 5/31/82, $20K, Toy",
  269. "Edward, 6/1/82, $30K, Toy",
  270. "Edward, 6/2/82, $30K, Toy",
  271. "Di, 5/30/82, $30K, Toy",
  272. "Di, 5/31/82, $30K, Toy",
  273. "Di, 6/1/82, $30K, Toy",
  274. "Di, 6/2/82, $30K, Toy".
  275.  
  276. 4. For each employee (current name) list the greater time intervals
  277. at which there is no change either at his salary or at the department
  278. he works in.
  279. Answer: "Edward, 2/1/82 - 5/31/82, $20K, Toy",
  280. "Edward, 6/1/82 - 1/31/85, $30K, Toy",
  281. "Edward, 2/1/85 - 1/31/87, $40K, Toy",
  282. "Edward, 4/1/87 - present, $40K, Book",
  283. "Di, 1/1/82 - 7/31/84, 30K, Toy",
  284. "Di, 8/1/84 - 8/31/86, $40K, Toy",
  285. "Di, 9/1/86 - present, $50K, Toy"
  286.  
  287.